home *** CD-ROM | disk | FTP | other *** search
- #define FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE 1
- #include <QuickDrawPriv.h>
- #include "ShieldRect.h"
-
-
- typedef struct ShieldRectParamBlock{
- ProcPtr procPtr; /* pointer to routine to call if shield touches */
- long refCon; /* constant to pass to UPP routine */
- Rect newRect; /* New rect */
- Rect * shieldRect; /* pointer to private shield rect, returned by register */
- void *shieldStructPtr; /* pointer to shield parameter block, returned by register */
- } ShieldRectParamBlock, *ShieldRectParamBlockPtr;
-
-
- enum{
- kGetBlitProcVers,
- kGetBlitProcPtr,
- kSetBlitProcPtr,
- kRegisterShieldRectangle,
- kUnRegisterShieldRectangle,
- kSetShieldRectangle
- };
-
-
- void RegisterShieldRect(Rect * rectToShield, ShieldRectNotifyProcPtr proc, long refCon, long * cookie)
- {
- ShieldRectParamBlock pb;
-
- /*******/
-
- pb.procPtr = (ProcPtr)NewQDUserNotifyProc(proc);
- pb.refCon = refCon;
- pb.newRect = *rectToShield;
-
- NQDMisc (kRegisterShieldRectangle, (long*)&pb);
- /* Does NQDMisc return an error? If so, where is it documented? */
-
- *cookie = (long)pb.shieldStructPtr;
- }
-
-
- void UnregisterShieldRect(long cookie)
- {
- ShieldRectParamBlock pb;
-
- /*****/
-
- pb.shieldStructPtr = (void *)cookie;
- NQDMisc(kUnRegisterShieldRectangle, (long*)&pb);
- }
-
-
-